package nameless.aistudy.common.enumeration.util.impl;

import nameless.aistudy.common.enumeration.IdEnumTemplate;
import nameless.aistudy.common.enumeration.util.IdEnumUtil;
import org.springframework.stereotype.Component;

@Component
public class IdEnumUtilImpl implements IdEnumUtil {

    private IdEnumUtilImpl() {
        // 工具类，防止实例化
    }

    @Override
    public <E extends Enum<E> & IdEnumTemplate> E fromId(Class<E> enumClass, long id) {
        for (E enumValue : enumClass.getEnumConstants()) {
            if (enumValue.getId() == id) {
                return enumValue;
            }
        }
        return null;
//        throw new IllegalArgumentException(enumClass.getSimpleName() + "无效的统计类型ID: " + id);
    }

    @Override
    public <E extends Enum<E> & IdEnumTemplate> boolean containsId(Class<E> enumClass, long id) {
        for (E enumValue : enumClass.getEnumConstants()) {
            if (enumValue.getId() == id) {
                return true;
            }
        }
        return false;
    }

}
